package com.liuyu.common.framework.decision.company.service.facade;

import java.util.List;
import java.util.Set;

/**
 * @ClassName CompanyService
 * @Description: 机构层级接口
 * @Author: Lijialiang
 * @Date: Created in 2020/4/27 14:11
 * @Version:
 * @Modified By:
 */
public interface CompanyService {


    /**
     * 获取机构的所有上级机构
     *
     * @param comCode
     * @return java.util.List<java.lang.String>
     * @throws
     * @author liuyu
     * @date 2024/10/15 9:09
     */
    List<String> getUpperComCodeString(String comCode);


    /**
     * 获取机构的所有下级机构
     *
     * @param comCode
     * @param comType
     * @return java.util.Set<java.lang.String>
     * @throws
     * @author liuyu
     * @date 2024/10/15 9:10
     */
    Set<String> getLowerComCode(String comCode, String comType);


    /**
     * 获取地市机构代码
     *
     * @param comCode
     * @return java.lang.String
     * @throws
     * @author liuyu
     * @date 2024/10/15 9:10
     */
    String getCityComCode(String comCode);


    /**
     * 根据comCode返回对应机构名称
     *
     * @param comCode
     * @return java.lang.String
     * @throws
     * @author liuyu
     * @date 2024/10/15 9:10
     */
    String getComName(String comCode);

    /**
     * 判断sourceComCode机构是否在targetComCode机构的下级范围
     *
     * @param sourceComCode
     * @param targetComCode
     * @return java.lang.Boolean
     * @throws
     * @author liuyu
     * @date 2024/10/15 9:10
     */
    Boolean isUpperCom(String sourceComCode, String targetComCode);
}
